Packet transport systems employ a technique of disassembling information at a sending end of a switching network for insertion into separate packets of data and reassembling the same information from the data packets at a receiving end of the switching network. Communications systems employing this technique are especially useful in common carrier or time-shared switching networks, since a communication path or circuit required for packet transmission associated with a user's message is needed only while each packet is being forwarded through the switching network. The communication path is, therefore, available to other users during intervening periods.
Packet transport systems are capable of providing integrated information transport services for a wide range of applications (e.g., interactive data, bulk data, signaling, packetized voice, image). Instead of designing specialized networks optimized for specific applications, many services can be simultaneously supported over the same connection to the switching network. User information of varying types is converted into packets. The switching network transports these packets between users. End users are not tied to fixed rate connections. Instead, the switching network adapts the connection rates to the particular needs of the end users. Furthermore, it is possible to create a uniform user-network interface that is applicable to a broad range of services. Different applications may require different grades of service from the switching network. For example, packetized voice transmissions may possess very stringent delay requirements for delivery of the packets associated with an ongoing voice conversation, thus providing the users with acceptable quality of service.
A packet transport system generally includes a number of devices, wherein one device may be designated as a slave device that provides an interface to the switching network. A second device may be designated as a master device that provides the data (in the form of packets) to the slave device and performs buffer management of the slave device. A problem may arise when the slave device depletes the data at a rate different from that expected by the master device. This may cause exception conditions to occur. The exception conditions may include overflow, underflow, abort of transmission or loss of data.
While the slave device typically runs at a line rate, i.e., a rate of a physical device of the switching network, the master device typically runs at a rate determined by a system clock thereof. The line rate and the rate (or frequency) of the system clock may be derived from the same source or from different sources. In either case, variations in the line rate or the frequency of the system clock, over time, may cause the slave device and the master device to run at different rates. Additionally, some protocols (e.g., the High-Level Data Link Control (HDLC) protocol) may require the slave device to insert control bits, stuffing bits, or error checking bits such that the amount of data transmitted by the slave device is greater than the amount of data provided to the slave device by the master device.
To accommodate the varying rates, some currently available 20 packet transport systems employ separate interfaces designed to carry information that is necessary for communication between the various devices within the system. In systems having only a small, limited number of channels (for instance, 31 channels) a separate indicator or line may be employed for each channel. Since each channel requires a separate line (with its attendant circuitry), this generally results in devices (e.g., slave and master devices) having increased pin count, circuit pack area and power consumption.
Other packet transport systems employ scheduling techniques, wherein multiple data packets are scheduled in advance for every data channel. This technique, however, does not discriminate between low and high priority packets and thus does not allow the higher priority packets to be transmitted first so as to minimize delay. Further, to avoid data underrun, data queues employed by the packet transport system may need to be filled with lower priority data packets. As a result, the higher priority data packets may be subject to unnecessary delays.
Still other packet transport systems completely eliminate the need for storage in the slave device by requiring the master device to send a limited number of bytes (usually between four and eight) to every channel in the slave device. The master device, however, has to poll the slave device at a much higher rate than that normally required. Additionally, the master device should monitor clock variations in the slave device, as well as the status of a buffer for each channel in the slave device.
Accordingly, what is needed in the art is a messaging system for communications between the slave device and the master device that overcomes the deficiencies of the prior art.